package com.bolt.auth.admin.api.sys.dto;

import com.bolt.convention.data.BaseDTO;
import com.bolt.convention.validation.constraints.Mobile;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class UserDTO extends BaseDTO {
    /**
     * *
     **/
    private String id;

    /**
     * * 账号类型所对应唯一标识
     **/
    @NotBlank
    @ApiModelProperty(notes = "账号类型所对应唯一标识")
    private String userName;

    /**
     * * 姓名
     **/
    @ApiModelProperty(notes = "姓名")
    private String realName;

    /**
     * * 昵称
     **/
    @ApiModelProperty(notes = "昵称")
    private String nickName;

    /**
     * * 用户的密码
     **/
    @ApiModelProperty(notes = "用户的密码")
    private String password;

    /**
     * 邮箱地址
     **/
    @ApiModelProperty(notes = "邮箱地址")
    private String email;

    /**
     * * 手机号
     **/
    @Mobile
    @ApiModelProperty(notes = "手机号")
    private String mobile;


    /**
     * * 修改密码的时间
     **/
    @ApiModelProperty(notes = "修改密码的时间")
    private Date pwdResetTime;

    /**
     * * 状态：1启用、0禁用
     **/
    @ApiModelProperty(notes = "状态")
    private Boolean enabled;

    /**
     * * 是否为admin账号
     **/
    @ApiModelProperty(notes = "是否为admin账号")
    private Boolean admin;

    /**
     * * 用户登录密码的SALT
     **/
    @ApiModelProperty(notes = "用户登录密码的SALT")
    private String authSalt;

    /**
     * * 机构ID
     **/
    @NotNull
    @ApiModelProperty(notes = "机构ID")
    private String orgId;

    /**
     * 机构名称
     */
    @ApiModelProperty(notes = "机构名称")
    private String orgName;

    /**
     * * 头像地址
     **/
    @ApiModelProperty(notes = "头像地址")
    private String avatarImg;


    private Integer versionNO;


    @NotBlank
    private String roleIds;

    @ApiModelProperty(notes = "地区名称")
    private String areaName;

    @ApiModelProperty(notes = "地区编码")
    private String areaCode;



}